"""
1.json是一种轻量级的数据交换格式，本身就是一个特殊格式的字符串

2.Python处理json的优势
JSON无非就是一个单独的字典或一个内部元素都是字典的列表
json就相当于list列表
json数组就相当于dict字典
相比于其他语言具有优势，可以做到无缝切换

3.python内置了json模块

4.json模块的基本用法：
- json.dumps()	把Python对象编码成JSON格式的字符串，如果字符串中有中午，可以使用【ensure_ascii=False】参数确保中文不被转换为ASSCII码
- json.loads()	把JSON格式的字符串解码成Python对象
- json.dump()	把Python对象按照JSON格式写入到文件中
- json.load()	从文件中读取JSON格式的数据，并解码成Python对象
"""

import json

"""
演示JSON数据和Python字典的相互转换
"""
print("============================= 列表转JSON json.dumps()")
data = [{"name": "张三", "age": 20}, {"name": "李四", "age": 25}, {"name": "王五", "age": 22}]

json_str = json.dumps(data, ensure_ascii=False)

print(f"格式类型为：{type(json_str)}")
print(json_str)

print("============================= 字典转JSON json.dumps()")

data = {"name": "张一山", "address": "北京"}

js_name = json.dumps(data, ensure_ascii=False)
print(f"格式类型为：{type(js_name)}")
print(js_name)

print("============================= JSON转列表 json.loads()")
s1 = '[{"name": "张三", "age": 20}, {"name": "李四", "age": 25}, {"name": "王五", "age": 22}]'

list1 = json.loads(s1)
print(f"格式类型为：{type(list1)}")
print(list1)

print("============================= JSON转字典  json.loads()")
s2 = '{"name": "张一山", "address": "北京"}'

dict1 = json.loads(s2)
print(f"格式类型为：{type(dict1)}")
print(dict1)
